// Magic Software, Inc.
// http://www.magic-software.com
// Copyright (c) 2000, All Rights Reserved
//
// Source code from Magic Software is supplied under the terms of a license
// agreement and may not be copied or disclosed except in accordance with the
// terms of that agreement.  The various license agreements may be found at
// the Magic Software web site.  This file is subject to the license
//
// FREE SOURCE CODE
// http://www.magic-software.com/License/free.pdf

//----------------------------------------------------------------------------
inline MgcCylinder::MgcCylinder ()
{
    // no initialization for efficiency
}
//----------------------------------------------------------------------------
inline MgcVector3& MgcCylinder::Center ()
{
    return m_kCenter;
}
//----------------------------------------------------------------------------
inline const MgcVector3& MgcCylinder::Center () const
{
    return m_kCenter;
}
//----------------------------------------------------------------------------
inline MgcVector3& MgcCylinder::Direction ()
{
    return m_kDirection;
}
//----------------------------------------------------------------------------
inline const MgcVector3& MgcCylinder::Direction () const
{
    return m_kDirection;
}
//----------------------------------------------------------------------------
inline MgcReal& MgcCylinder::Height ()
{
    return m_fHeight;
}
//----------------------------------------------------------------------------
inline const MgcReal& MgcCylinder::Height () const
{
    return m_fHeight;
}
//----------------------------------------------------------------------------
inline MgcReal& MgcCylinder::Radius ()
{
    return m_fRadius;
}
//----------------------------------------------------------------------------
inline const MgcReal& MgcCylinder::Radius () const
{
    return m_fRadius;
}
//----------------------------------------------------------------------------
inline MgcSegment3 MgcCylinder::GetSegment () const
{
    MgcSegment3 kSegment;
    kSegment.Direction() = m_fHeight*m_kDirection;
    kSegment.Origin() = m_kCenter - 0.5*kSegment.Direction();
    return kSegment;
}
//----------------------------------------------------------------------------
